package com.edu.exam.enums.examination.paper;

/**
 * 异常类型枚举
 *
 * 从ProcessingException实体类中提取的独立枚举
 *
 * @author System
 * @version 1.0.0
 */
public enum ExceptionType {
    NULL_POINTER("空指针异常"),
    INDEX_OUT_OF_BOUNDS("数组越界异常"),
    ILLEGAL_ARGUMENT("非法参数异常"),
    ILLEGAL_STATE("非法状态异常"),
    CLASS_CAST("类型转换异常"),
    NUMBER_FORMAT("数字格式异常"),
    ARITHMETIC("算术异常"),
    ARRAY_STORE("数组存储异常"),
    CONCURRENT_MODIFICATION("并发修改异常"),
    UNSUPPORTED_OPERATION("不支持的操作"),
    FILE_NOT_FOUND("文件未找到异常"),
    IO_EXCEPTION("IO异常"),
    RUNTIME_EXCEPTION("运行时异常"),
    SECURITY_EXCEPTION("安全异常"),
    SQL_EXCEPTION("SQL异常"),
    NETWORK_EXCEPTION("网络异常"),
    TIMEOUT_EXCEPTION("超时异常"),
    PARSE_EXCEPTION("解析异常"),
    VALIDATION_EXCEPTION("验证异常"),
    BUSINESS_EXCEPTION("业务异常"),
    SYSTEM_EXCEPTION("系统异常");

    private final String description;

    ExceptionType(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    /**
     * 获取显示名称（中文）
     *
     * @return 中文显示名称
     */
    public String getDisplayName() {
        return description;
    }
}